package com.xydtech.ecard.ftp.domain;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Author: liliya
 * @Description: 期限匹配法实体对象
 * (sheet:期限匹配法)
 * @Date: Created in 2023/8/15 20:57
 * @Modified:
 */
public class EcardFtpDeadlineMatchBO extends EcardFtpCalculateBaseBO{

    /**
     * 业务起始日(EcardApiFtpInfo-业务起始日)
     * 日期格式必须为：YYYY-MM-DD
     */
    private Date beginDate;

    /**
     * 业务到期日(EcardApiFtpInfo-业务到期日)
     * 日期格式必须为：YYYY-MM-DD
     */
    private Date endDate;

    /**
     * 重定价周期(EcardApiFtpInfo-重定价频率(月))
     */
    private Integer repricingPeriod;

    /**
     * 重定价日
     */
    private Date repricingDate;

    /**
     * 定价期限
     */
    private Integer pricingPeriod;

    /**
     * 上限期限
     */
    private Integer configUpperDay;

    /**
     * 下限期限
     */
    private Integer configUnderDay;

    /**
     * 上限收益率
     */
    private BigDecimal configUpperRate;

    /**
     * 下限收益率
     */
    private BigDecimal configUnderRate;

    /**
     * 斜率
     */
    private BigDecimal slope;

    /**
     * 截距
     */
    private BigDecimal intercept;

    /**
     * 边线价格
     */
    private BigDecimal marginalPrice;

    /**
     * 插值价格
     */
    private BigDecimal interpolationPrice;

    /**
     * 基础价格
     */
    private BigDecimal basicPrice;


    public Date getBeginDate() {
        return beginDate;
    }

    public void setBeginDate(Date beginDate) {
        this.beginDate = beginDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public Integer getRepricingPeriod() {
        return repricingPeriod;
    }

    public void setRepricingPeriod(Integer repricingPeriod) {
        this.repricingPeriod = repricingPeriod;
    }

    public Date getRepricingDate() {
        return repricingDate;
    }

    public void setRepricingDate(Date repricingDate) {
        this.repricingDate = repricingDate;
    }

    public Integer getPricingPeriod() {
        return pricingPeriod;
    }

    public void setPricingPeriod(Integer pricingPeriod) {
        this.pricingPeriod = pricingPeriod;
    }

    public Integer getConfigUpperDay() {
        return configUpperDay;
    }

    public void setConfigUpperDay(Integer configUpperDay) {
        this.configUpperDay = configUpperDay;
    }

    public Integer getConfigUnderDay() {
        return configUnderDay;
    }

    public void setConfigUnderDay(Integer configUnderDay) {
        this.configUnderDay = configUnderDay;
    }

    public BigDecimal getConfigUpperRate() {
        return configUpperRate;
    }

    public void setConfigUpperRate(BigDecimal configUpperRate) {
        this.configUpperRate = configUpperRate;
    }

    public BigDecimal getConfigUnderRate() {
        return configUnderRate;
    }

    public void setConfigUnderRate(BigDecimal configUnderRate) {
        this.configUnderRate = configUnderRate;
    }

    public BigDecimal getSlope() {
        return slope;
    }

    public void setSlope(BigDecimal slope) {
        this.slope = slope;
    }

    public BigDecimal getIntercept() {
        return intercept;
    }

    public void setIntercept(BigDecimal intercept) {
        this.intercept = intercept;
    }

    public BigDecimal getMarginalPrice() {
        return marginalPrice;
    }

    public void setMarginalPrice(BigDecimal marginalPrice) {
        this.marginalPrice = marginalPrice;
    }

    public BigDecimal getInterpolationPrice() {
        return interpolationPrice;
    }

    public void setInterpolationPrice(BigDecimal interpolationPrice) {
        this.interpolationPrice = interpolationPrice;
    }

    public BigDecimal getBasicPrice() {
        return basicPrice;
    }

    public void setBasicPrice(BigDecimal basicPrice) {
        this.basicPrice = basicPrice;
    }

    @Override
    public String toString() {
        return "EcardFtpDeadlineMatchBO{" +
                "beginDate业务起始日=" + beginDate +
                ", endDate业务到期日=" + endDate +
                ", repricingPeriod重定价周期=" + repricingPeriod +
                ", repricingDate重定价日=" + repricingDate +
                ", pricingPeriod定价期限=" + pricingPeriod +
                ", configUpperDay上限=" + configUpperDay +
                ", configUnderDay下限=" + configUnderDay +
                ", configUpperRate上限收益率=" + configUpperRate +
                ", configUnderRate下限收益率=" + configUnderRate +
                ", slope斜率=" + slope +
                ", intercept截距=" + intercept +
                ", marginalPrice边线价格=" + marginalPrice +
                ", interpolationPrice插值价格=" + interpolationPrice +
                ", basicPrice基础价格=" + basicPrice +
                '}';
    }
}
